package JavaSE.d6;
/*
	创建两个线程，在一个线程中，杀死另一个线程。
要求：
创建两个线程，一个线程名称：猫；另一个线程名称：老鼠
在main方法中创建两个线程，并启动线程
老鼠线程：run方法中写一个无限循环，循环体内，控制台输出线程名称+循环次数 i ；表示老鼠跑了 i 米
猫线程：run方法中休眠3秒钟，3秒钟后，结束老鼠线程，控制台输出：老鼠被抓住了
 */
public class Test6 {
    public static void main(String[] args) throws InterruptedException {
        Cat cat = new Cat();
        Mouse mouse = new Mouse();
        mouse.setName("杰瑞");
        cat.setName("汤姆");

        mouse.start();
        cat.target=mouse;
        cat.start();
        cat.join();
        System.out.println("汤姆抓到了杰瑞");


    }
}
class Cat extends Thread{
    Mouse target;
    @Override
    public void run() {

        try {
            Thread.sleep(3000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        target.stop();
        super.run();
    }
}

class Mouse extends Thread{
    @Override
    public void run() {
        for (int i = 0; ; i++) {
            System.out.println(Thread.currentThread().getName()+"跑了:"+i+"米");
            try {
                Thread.sleep(10);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
}